home *** CD-ROM | disk | FTP | other *** search
/ NetNews Offline 2 / NetNews Offline Volume 2.iso / news / comp / lang / c-part2 / 12402 < prev    next >
Encoding:
Internet Message Format  |  1996-08-05  |  1.0 KB

  1. Path: force.stwing.upenn.edu!fitz
  2. From: fitz@force.stwing.upenn.edu (Eric Fitzpatrick)
  3. Newsgroups: comp.lang.c
  4. Subject: Reversing printf conversion
  5. Date: 30 Mar 1996 22:44:42 GMT
  6. Organization: Science and Technology Wing
  7. Message-ID: <4jkdgq$fds@netnews.upenn.edu>
  8. NNTP-Posting-Host: force.stwing.upenn.edu
  9. X-Newsreader: TIN [version 1.2 PL2-upenn1.1]
  10.  
  11. I need to 'undo' the following (read in the file, and place it back in 
  12. 'integer' from the file).
  13.  
  14. static void WriteBigInteger (file, integer, integerLen)
  15. FILE *file;
  16. unsigned char *integer;
  17. unsigned int integerLen;
  18. {
  19.   for (; integerLen > 0; integerLen--)
  20.     fprintf (file, "%02x", (unsigned int)(*integer++));
  21. }    
  22.  
  23.  
  24. I have tried the following approach to no avail: 
  25.  
  26.   unsigned char line[200]; /* number not impt */
  27.   unsigned char *ptr;
  28.   ptr=line;
  29.  
  30.   fgets(line,200,file);
  31.   for (; integerLen > 0; integerLen--){
  32.     sprintf(ptr,"%02x",integer++);
  33.     ptr++;
  34.     ptr++;
  35.   }
  36.  
  37.  
  38. Is there a better way? (that works).  I have exhaustd over 16 hours on 
  39. this one damn problem...I _KNOW_ I am doing this wrong somehow.
  40.  
  41. -Fitz
  42.  
  43.